<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    <em>em</em>
    <div class="box" abc="hahaha" id="cont" title="这是一个title">
        <span>askjfgajdfg</span>
        hello
        <!-- 这是一个注释 -->
        <span>2</span>
    </div>
    <p>p</p>
</body>
<script>
    var obox = document.querySelector(".box");
    // 通过对象.childNodes获得所有子节点的集合
    var aChild = obox.childNodes;
    // 获取子节点的属性
    var aAttr= obox.attributes;

    console.log("=====")
    // 遍历所有子节点，根据指定的节点类型的条件来选择符合条件的值（节点过滤）
    for(var i=0;i<aChild.length;i++){
        if(aChild[i].nodeType === 3){
            console.log(aChild[i])
        }
    }
    
    console.log("=====")
    // 获取所有子节点
    // 元素
    console.log(aChild[1]);
    console.log(typeof aChild[1]);
    // 节点的类型
    console.log(aChild[1].nodeType);
    // 节点的名
    console.log(aChild[1].nodeName);
    // 节点的值
    console.log(aChild[1].nodeValue);

    // 文本
    console.log(aChild[2]);
    console.log(typeof aChild[2]);
    console.log(aChild[2].nodeType);
    console.log(aChild[2].nodeName);
    console.log(aChild[2].nodeValue);

    // 注释
    console.log(aChild[3]);
    console.log(typeof aChild[3]);
    console.log(aChild[3].nodeType);
    console.log(aChild[3].nodeName);
    console.log(aChild[3].nodeValue);
    
    // 获取根节点
    console.log(document);
    console.log(typeof document);
    console.log(document.nodeType);
    console.log(document.nodeName);
    console.log(document.nodeValue);

    // 获取属性节点
    console.log(aAttr[3]);
    console.log(typeof aAttr[3]);
    console.log(aAttr[3].nodeType);
    console.log(aAttr[3].nodeName);
    console.log(aAttr[3].nodeValue);
    


</script>
</html>
